package net.mikoo.seals.biz.service;

import java.util.List;

import net.mikoo.seals.model.Organization;
import net.mikoo.seals.model.OrganizationParty;
import net.mikoo.seals.model.OrganizationPartyQuery;
import net.mikoo.seals.model.OrganizationQuery;

public interface OrganizationService {
	
	void create(Organization organization);
	void createPart(OrganizationParty OrganizationParty);
	
	void modify(Organization organization);
	
	Organization getInfoById(Long id);
	

	List<Organization> getListByQuery(OrganizationQuery query);

	void deleteByQuery(OrganizationQuery query);

	List<Organization> getTreeByQuery(OrganizationQuery query);
	
	List<OrganizationParty> getStaffList(OrganizationPartyQuery query);

	void removeStaff(OrganizationParty orgParty);
	
	void addStaff(Long organizationId, List<Long> partyIds,Long companyId);

	Integer getTotal(Long companyId);

	Organization getInfoByQuery(OrganizationQuery query);
	Organization getInfoByPartyId(Long partyId);
	Organization getInfoWithPartyByQuery(OrganizationQuery query);
}
